I want to visualize the spatial impact the Black Lives Matter protests had in Boston, particularly thinking about people following them from the windows of their apartment buildings, unable to physically be there. The following text from Johanna Hedva’s Sick Woman Theory (2016) inspired me:
"I started to think about what modes of protest are aforded to sick people - it seemed to me that many people for whom Black Lives Matter is especially in service, might not be able to be present for the marches because they were imprisoned by a job, the threat of being fired from their job if they marched, or literal incarceration, and of course the threat of violence and police brutality - but also because of illness or disability, or because they were caring for someone with an illness or disability.
I thought of all the other invisible bodies, with their fists up, tucked away and out of sight."
I make the case that the sound of the protest is the device that engages these invisible bodies from their windows. I chose 5 minutes (driving and walking) as arbitrary measures of impact of the sound of the protests (BLM protests took many shapes, some were vigils that were quiet, others were loud, so using walking and driving as measures of minimum and maximum impact).
library(osmdata)
library(opentripplanner)
library(tidyverse)
library(sf)
library(ggthemes)
library(ggspatial)
library(osmar)
library(raster)
library(tidygeocoder)
library(ggplot2)
library(ggthemes)
library(ggalt)
The map layers I used are Black Lives Matters protests map from Alex Smith at Creosote maps and the buildings from analyze Boston. I converted the buildings into points, using the centroid function.
blm_protests <- st_read(
"Alex_Smith_protest_points_2020_0929.shp")
## Reading layer `Alex_Smith_protest_points_2020_0929' from data source `C:\Users\user\Documents\GitHub\Vis\VIS 200912\anazhibaj-vis\Alex_Smith_protest_points_2020_0929.shp' using driver `ESRI Shapefile'
## Simple feature collection with 4443 features and 12 fields
## geometry type: POINT
## dimension: XY
## bbox: xmin: -170.683 ymin: -45.87707 xmax: 178.4331 ymax: 71.28904
## geographic CRS: WGS 84
buildings <- st_read("http://bostonopendata-boston.opendata.arcgis.com/datasets/8bf3e3b0bde0432c82f76ee6a0608e7d_0.kml?outSR=%7B%22latestWkid%22%3A2249%2C%22wkid%22%3A102686%7D", quiet = TRUE)
opq(bbox = 'Boston MA USA') %>%
add_osm_feature(key = 'highway') %>%
osmdata_xml(file = 'OTP/graphs/default/boston_streets.osm')
MA_state_plane <- "+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +units=m +no_defs"
boston_street_features <- opq(bbox = 'Boston MA USA') %>%
add_osm_feature(key = 'highway') %>%
osmdata_sf()
boston_streets <- boston_street_features$osm_lines %>%
st_transform(crs = MA_state_plane)
buildings <- buildings %>%
st_transform(MA_state_plane)
buildings <- st_centroid(buildings)
## Warning in st_centroid.sf(buildings): st_centroid assumes attributes are
## constant over geometries of x
ggplot(boston_streets) +
geom_sf() +
theme_map()
path_otp <- otp_dl_jar("OTP")
## The OTP will be saved to OTP/otp.jar
path_data <- file.path(getwd(), "OTP")
path_otp <- paste(path_data, "otp.jar",sep = "/")
otp_build_graph(otp = path_otp, dir = path_data, memory = 1024)
## [1] "13:53:48.918 INFO (OTPServer.java:39) Wiring up and configuring server."
## [2] "13:53:48.921 INFO (GraphBuilder.java:165) Wiring up and configuring graph builder task."
## [3] "13:53:48.923 INFO (GraphBuilder.java:171) Searching for graph builder input files in C:\\Users\\user\\Documents\\GitHub\\Vis\\VIS 200912\\anazhibaj-vis\\OTP\\graphs\\default"
## [4] "13:53:48.923 INFO (OTPMain.java:203) File 'C:\\Users\\user\\Documents\\GitHub\\Vis\\VIS 200912\\anazhibaj-vis\\OTP\\graphs\\default\\build-config.json' is not present. Using default configuration."
## [5] "13:53:48.943 INFO (OTPMain.java:203) File 'C:\\Users\\user\\Documents\\GitHub\\Vis\\VIS 200912\\anazhibaj-vis\\OTP\\graphs\\default\\router-config.json' is not present. Using default configuration."
## [6] "13:53:48.945 INFO (GraphBuilder.java:184) Summarizing GraphBuilderParameters"
## [7] "htmlAnnotations = false"
## [8] "maxHtmlAnnotationsPerFile = 1000"
## [9] "transit = true"
## [10] "useTransfersTxt = false"
## [11] "parentStopLinking = false"
## [12] "stationTransfers = false"
## [13] "stopClusterMode = proximity"
## [14] "subwayAccessTime = 2.0"
## [15] "streets = true"
## [16] "embedRouterConfig = true"
## [17] "areaVisibility = false"
## [18] "platformEntriesLinking = false"
## [19] "matchBusRoutesToStreets = false"
## [20] "fetchElevationUS = false"
## [21] "elevationBucket = null"
## [22] "elevationUnitMultiplier = 1.0"
## [23] "fareServiceFactory = DefaultFareServiceFactory"
## [24] "customNamer = null"
## [25] "wayPropertySet = org.opentripplanner.graph_builder.module.osm.DefaultWayPropertySetSource@3c09711b"
## [26] "staticBikeRental = false"
## [27] "staticParkAndRide = true"
## [28] "staticBikeParkAndRide = false"
## [29] "maxInterlineDistance = 200"
## [30] "pruningThresholdIslandWithoutStops = 40"
## [31] "pruningThresholdIslandWithStops = 5"
## [32] "banDiscouragedWalking = false"
## [33] "banDiscouragedBiking = false"
## [34] "maxTransferDistance = 2000.0"
## [35] "extraEdgesStopPlatformLink = false"
## [36] ""
## [37] "13:53:48.946 INFO (GraphBuilder.java:193) Found OSM file C:\\Users\\user\\Documents\\GitHub\\Vis\\VIS 200912\\anazhibaj-vis\\OTP\\graphs\\default\\boston_streets.osm"
## [38] "13:53:48.946 INFO (GraphBuilder.java:193) Found OSM file C:\\Users\\user\\Documents\\GitHub\\Vis\\VIS 200912\\anazhibaj-vis\\OTP\\graphs\\default\\cambridge_streets.osm"
## [39] "13:53:48.946 INFO (GraphBuilder.java:193) Found OSM file C:\\Users\\user\\Documents\\GitHub\\Vis\\VIS 200912\\anazhibaj-vis\\OTP\\graphs\\default\\roxbury_streets.osm"
## [40] "13:53:48.960 INFO (OpenStreetMapModule.java:161) Gathering OSM from provider: AnyFileBasedOpenStreetMapProviderImpl(C:\\Users\\user\\Documents\\GitHub\\Vis\\VIS 200912\\anazhibaj-vis\\OTP\\graphs\\default\\boston_streets.osm)"
## [41] "13:53:50.839 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [42] "13:53:50.839 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 44668869. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [43] "13:53:50.906 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [44] "13:53:50.906 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 172094383. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [45] "13:53:51.012 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [46] "13:53:51.013 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 411570029. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [47] "13:53:51.013 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [48] "13:53:51.013 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 411570030. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [49] "13:53:51.013 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [50] "13:53:51.013 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 411570032. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [51] "13:53:51.013 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [52] "13:53:51.013 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 411570033. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [53] "13:53:51.056 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [54] "13:53:51.056 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 485193865. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [55] "13:53:51.202 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [56] "13:53:51.202 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 731987527. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [57] "13:53:51.202 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [58] "13:53:51.202 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 731987529. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [59] "13:53:51.213 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [60] "13:53:51.213 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 750567539. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [61] "13:53:51.220 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [62] "13:53:51.220 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 760884284. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [63] "13:53:51.230 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [64] "13:53:51.230 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 785134065. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [65] "13:53:51.230 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [66] "13:53:51.230 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 785134067. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [67] "13:53:51.239 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [68] "13:53:51.239 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 805583367. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [69] "13:53:51.239 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [70] "13:53:51.240 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 805583368. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [71] "13:53:51.240 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [72] "13:53:51.240 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 805583372. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [73] "13:53:51.240 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [74] "13:53:51.240 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 805583373. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [75] "13:53:51.240 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [76] "13:53:51.240 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 805583376. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [77] "13:53:51.241 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [78] "13:53:51.241 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 805583377. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [79] "13:53:51.246 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;0, assumed to be ground-level."
## [80] "13:53:51.246 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;0' at 813253049. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [81] "13:53:51.282 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;2;3;4, assumed to be ground-level."
## [82] "13:53:51.282 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;2;3;4' at 813683127. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [83] "13:53:51.287 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [84] "13:53:51.288 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 815603022. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [85] "13:53:51.289 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [86] "13:53:51.289 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 816227293. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [87] "13:53:51.289 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [88] "13:53:51.290 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 816227295. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [89] "13:53:51.317 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [90] "13:53:51.317 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 818163468. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [91] "13:53:51.318 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [92] "13:53:51.318 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 818582521. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [93] "13:53:51.318 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [94] "13:53:51.318 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 818582522. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [95] "13:53:51.319 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [96] "13:53:51.319 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 818614247. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [97] "13:53:51.321 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [98] "13:53:51.321 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 820034124. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [99] "13:53:51.327 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [100] "13:53:51.327 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 822774133. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [101] "13:53:51.327 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [102] "13:53:51.327 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 822774135. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [103] "13:53:51.327 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [104] "13:53:51.328 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 822899115. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [105] "13:53:51.328 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [106] "13:53:51.328 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 822899120. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [107] "13:53:51.333 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [108] "13:53:51.334 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 823996352. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [109] "13:53:51.334 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [110] "13:53:51.334 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 824020973. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [111] "13:53:51.335 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [112] "13:53:51.335 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 824020974. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [113] "13:53:51.335 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [114] "13:53:51.335 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 824020981. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [115] "13:53:51.408 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [116] "13:53:51.408 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 824207755. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [117] "13:53:51.409 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [118] "13:53:51.409 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 824367558. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [119] "13:53:51.411 WARN (OSMLevel.java:123) Could not determine floor number for layer -2;-1, assumed to be ground-level."
## [120] "13:53:51.411 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-2;-1' at 824574307. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [121] "13:53:51.412 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [122] "13:53:51.412 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 824574310. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [123] "13:53:51.413 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [124] "13:53:51.414 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 824574312. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [125] "13:53:51.415 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [126] "13:53:51.415 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 824940349. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [127] "13:53:51.416 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [128] "13:53:51.416 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 825070911. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [129] "13:53:51.446 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [130] "13:53:51.446 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 833091381. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [131] "13:53:51.449 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [132] "13:53:51.449 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 833428564. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [133] "13:53:51.450 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [134] "13:53:51.450 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 833663421. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [135] "13:53:51.456 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [136] "13:53:51.456 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 835548597. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [137] "13:53:51.466 WARN (OSMLevel.java:123) Could not determine floor number for layer 6;7, assumed to be ground-level."
## [138] "13:53:51.466 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '6;7' at 837196075. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [139] "13:53:51.467 WARN (OSMLevel.java:123) Could not determine floor number for layer 6;7, assumed to be ground-level."
## [140] "13:53:51.467 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '6;7' at 837196079. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [141] "13:53:51.467 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1;2;3;4;5;6;7, assumed to be ground-level."
## [142] "13:53:51.467 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1;2;3;4;5;6;7' at 837196086. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [143] "13:53:51.467 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1;2;3;4;5;6, assumed to be ground-level."
## [144] "13:53:51.467 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1;2;3;4;5;6' at 837256997. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [145] "13:53:51.468 WARN (OSMLevel.java:123) Could not determine floor number for layer 1lit=yes, assumed to be ground-level."
## [146] "13:53:51.468 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1lit=yes' at 837276222. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [147] "13:53:51.470 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-2, assumed to be ground-level."
## [148] "13:53:51.470 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-2' at 838051703. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [149] "13:53:51.470 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [150] "13:53:51.471 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 838297142. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [151] "13:53:51.471 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [152] "13:53:51.471 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 838297155. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [153] "13:53:51.472 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [154] "13:53:51.550 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 838338103. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [155] "13:53:51.554 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [156] "13:53:51.554 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 839522712. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [157] "13:53:51.560 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [158] "13:53:51.560 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 840634223. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [159] "13:53:51.560 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [160] "13:53:51.560 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 840634224. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [161] "13:53:51.561 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [162] "13:53:51.561 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 840634225. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [163] "13:53:51.561 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [164] "13:53:51.561 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 840634226. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [165] "13:53:51.564 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [166] "13:53:51.564 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 841066739. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [167] "13:53:51.564 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [168] "13:53:51.564 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 841066741. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [169] "13:53:51.571 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [170] "13:53:51.572 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 841958335. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [171] "13:53:51.572 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [172] "13:53:51.572 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 841958339. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [173] "13:53:51.572 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;2, assumed to be ground-level."
## [174] "13:53:51.572 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;2' at 841958341. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [175] "13:53:51.573 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [176] "13:53:51.573 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 842198668. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [177] "13:53:51.574 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [178] "13:53:51.574 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 842508165. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [179] "13:53:51.574 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;0, assumed to be ground-level."
## [180] "13:53:51.574 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;0' at 842508168. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [181] "13:53:51.574 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;2, assumed to be ground-level."
## [182] "13:53:51.574 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;2' at 842508169. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [183] "13:53:51.574 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [184] "13:53:51.574 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 842508170. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [185] "13:53:51.588 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [186] "13:53:51.588 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 843321114. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [187] "13:53:51.631 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [188] "13:53:51.632 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 846033915. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [189] "13:53:51.650 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [190] "13:53:51.650 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 846939321. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [191] "13:53:51.651 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [192] "13:53:51.651 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 846939333. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [193] "13:53:51.651 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [194] "13:53:51.651 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 847008064. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [195] "13:53:51.672 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [196] "13:53:51.672 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 847008070. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [197] "13:53:51.674 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [198] "13:53:51.674 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 849066327. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [199] "13:53:51.674 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [200] "13:53:51.674 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 849066328. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [201] "13:53:51.674 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [202] "13:53:51.674 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 849066330. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [203] "13:53:51.674 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [204] "13:53:51.674 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 849066331. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [205] "13:53:51.674 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [206] "13:53:51.674 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 849066332. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [207] "13:53:51.675 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [208] "13:53:51.675 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 849066339. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [209] "13:53:51.678 WARN (OSMLevel.java:123) Could not determine floor number for layer 1;0, assumed to be ground-level."
## [210] "13:53:51.678 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '1;0' at 851676932. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [211] "13:53:51.680 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [212] "13:53:51.680 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 852208588. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [213] "13:53:51.693 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [214] "13:53:51.693 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 852208589. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [215] "13:53:51.695 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [216] "13:53:51.695 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 852529689. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [217] "13:53:51.695 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;1, assumed to be ground-level."
## [218] "13:53:51.696 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;1' at 852529692. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [219] "13:53:51.697 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [220] "13:53:51.698 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 853562772. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [221] "13:53:51.698 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [222] "13:53:51.698 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 853562774. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [223] "13:53:51.700 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [224] "13:53:51.700 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094253. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [225] "13:53:51.701 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [226] "13:53:51.702 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 854094255. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [227] "13:53:51.703 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [228] "13:53:51.703 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094256. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [229] "13:53:51.704 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [230] "13:53:51.704 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094259. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [231] "13:53:51.705 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [232] "13:53:51.706 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094260. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [233] "13:53:51.707 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [234] "13:53:51.707 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094261. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [235] "13:53:51.708 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [236] "13:53:51.709 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 854094262. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [237] "13:53:51.710 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [238] "13:53:51.710 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 854094263. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [239] "13:53:51.711 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [240] "13:53:51.711 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094264. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [241] "13:53:51.712 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;-2, assumed to be ground-level."
## [242] "13:53:51.713 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;-2' at 854094265. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [243] "13:53:51.714 WARN (OSMLevel.java:123) Could not determine floor number for layer 0;-1, assumed to be ground-level."
## [244] "13:53:51.714 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '0;-1' at 855656486. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [245] "13:53:51.715 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [246] "13:53:51.715 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 855663515. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [247] "13:53:51.716 WARN (OSMLevel.java:123) Could not determine floor number for layer -1;0, assumed to be ground-level."
## [248] "13:53:51.717 WARN (OSMDatabase.java:565) Could not infer floor number for layer called '-1;0' at 855663516. Vertical movement will still be possible, but elevator cost might be incorrect. Consider an OSM level map."
## [249] "13:53:55.064 WARN (OSMDatabase.java:647) Unexpected role in multipolygon"
## [250] "13:53:55.064 WARN (OSMDatabase.java:647) Unexpected role in multipolygon"
## [251] "13:53:55.064 WARN (OSMDatabase.java:647) Unexpected role in multipolygon"
## [252] "13:53:55.064 WARN (OSMDatabase.java:647) Unexpected role in multipolygon"
## [253] "13:53:55.064 WARN (OSMDatabase.java:647) Unexpected role in multipolygon"
## [254] "13:53:55.064 WARN (OSMDatabase.java:647) Unexpected role in multipolygon"
## [255] "13:53:55.104 INFO (OpenStreetMapModule.java:161) Gathering OSM from provider: AnyFileBasedOpenStreetMapProviderImpl(C:\\Users\\user\\Documents\\GitHub\\Vis\\VIS 200912\\anazhibaj-vis\\OTP\\graphs\\default\\cambridge_streets.osm)"
## [256] "13:53:56.147 INFO (OpenStreetMapModule.java:161) Gathering OSM from provider: AnyFileBasedOpenStreetMapProviderImpl(C:\\Users\\user\\Documents\\GitHub\\Vis\\VIS 200912\\anazhibaj-vis\\OTP\\graphs\\default\\roxbury_streets.osm)"
## [257] "13:53:56.395 INFO (OSMDatabase.java:315) Intersecting unconnected areas..."
## [258] "13:53:56.540 INFO (OSMDatabase.java:528) Created 0 virtual intersection nodes."
## [259] "13:53:56.542 INFO (OpenStreetMapModule.java:168) Building street graph from OSM"
## [260] "13:54:04.545 INFO (OpenStreetMapModule.java:393) Skipping visibility graph construction for walkable areas and using just area rings for edges."
## [261] "13:54:05.904 INFO (OpenStreetMapModule.java:424) Done building rings for walkable areas."
## [262] "13:54:05.904 INFO (OpenStreetMapModule.java:431) Building P+R areas"
## [263] "13:54:05.904 INFO (OpenStreetMapModule.java:441) Created 0 P+R."
## [264] "13:54:05.907 INFO (OpenStreetMapModule.java:946) graph-wide: Multiplying all bike safety values by 1.6666666"
## [265] "13:54:06.112 INFO (PruneFloatingIslands.java:60) Pruning isolated islands in street network"
## [266] "13:54:06.545 INFO (StreetUtils.java:103) 450 sub graphs found"
## [267] "13:54:06.605 INFO (StreetLinkerModule.java:46) Linking transit stops, bike rental stations, bike parking areas, and park-and-rides to graph . . ."
## [268] "13:54:07.287 INFO (Graph.java:963) Summary (number of each type of annotation):"
## [269] "13:54:07.289 INFO (Graph.java:969) GraphConnectivity - 446"
## [270] "13:54:07.289 INFO (Graph.java:969) LevelAmbiguous - 104"
## [271] "13:54:07.289 INFO (Graph.java:969) Graphwide - 1"
## [272] "13:54:07.307 INFO (Graph.java:814) Main graph size: |V|=114329 |E|=325915"
## [273] "13:54:07.307 INFO (Graph.java:815) Writing graph C:\\Users\\user\\Documents\\GitHub\\Vis\\VIS 200912\\anazhibaj-vis\\OTP\\graphs\\default\\Graph.obj ..."
## [274] "13:54:08.135 INFO (Graph.java:843) Graph written."
## [275] "13:54:08.136 INFO (GraphBuilder.java:153) Graph building took 0.3 minutes."
otp_setup(otp = path_otp, dir = path_data, memory =1024)
## 2020-10-07 13:54:08 OTP is loading and may take a while to be useable
## Router http://localhost:8080/otp/routers/default exists
## 2020-10-07 13:55:10 OTP is ready to use Go to localhost:8080 in your browser to view the OTP
# Connect to opentripplanner
otpcon <- otp_connect()
## Router http://localhost:8080/otp/routers/default exists
## Warning in otp_isochrone(otpcon = otpcon, fromPlace =
## blm_protests, mode = "WALK", : Failed to get isochrone with error:
## org.opentripplanner.routing.error.VertexNotFoundException: vertices not
## found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices not
## found: [from] vertices not found: [from]Failed to get isochrone with error:
## org.opentrippl
## Warning in otp_isochrone(otpcon = otpcon, fromPlace =
## blm_protests, mode = "CAR", : Failed to get isochrone with error:
## org.opentripplanner.routing.error.VertexNotFoundException: vertices not
## found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices
## not found: [from] vertices not found: [from]Failed to get isochrone with
## error: org.opentripplanner.routing.error.VertexNotFoundException: vertices not
## found: [from] vertices not found: [from]Failed to get isochrone with error:
## org.opentrippl
## [1] "SUCCESS: The process \"java.exe\" with PID 11136 has been terminated."
right_side <- st_bbox(iso_all_modes)$xmax
left_side <- st_bbox(iso_all_modes)$xmin
top_side <- st_bbox(iso_all_modes)$ymax
bottom_side <- st_bbox(iso_all_modes)$ymin
ggplot(iso_all_modes) +
annotation_map_tile(zoomin = 0, progress = "none") +
geom_sf(aes(fill = mode), alpha = 0.5) +
geom_sf(data = blm_protests) +
coord_sf(xlim = c(left_side, right_side),
ylim = c(bottom_side, top_side), expand = FALSE) +
scale_fill_viridis_d(name = "Area that is reachable within 5 minutes",
labels = c("By car", "By foot")) +
theme_map() +
labs(caption = "Basemap Copyright OpenStreetMap contributors")
ggplot(iso_all_modes) +
annotation_map_tile(zoomin = 0, type = "cartolight", progress = "none") +
geom_sf(aes(fill = mode), alpha = 0.5) +
geom_sf(data = blm_protests) +
coord_sf(xlim = c(left_side, right_side),
ylim = c(bottom_side, top_side), expand = FALSE) +
scale_fill_viridis_d(name = "Area that is reachable within 5 minutes",
labels = c("By car", "By foot")) +
theme_map() +
labs(caption = "Basemap Copyright OpenStreetMap contributors")
ggplot(iso_all_modes) +
annotation_map_tile(zoomin = 0, type = "stamenwatercolor",
progress = "none") +
geom_sf(aes(fill = mode), alpha = 0.5) +
geom_sf(data = blm_protests) +
coord_sf(xlim = c(left_side, right_side),
ylim = c(bottom_side, top_side), expand = FALSE) +
scale_fill_discrete(name = "Area that is reachable within 5 minutes",
labels = c("By car", "By foot"),
type = c("gray", "black")) +
theme_map() +
labs(caption = "Basemap Copyright OpenStreetMap contributors")
ggplot(iso_all_modes) +
annotation_map_tile(zoomin = 0, type = "stamenbw", progress = "none") +
geom_sf(aes(fill = mode), alpha = 0.5) +
geom_sf(data = blm_protests) +
coord_sf(xlim = c(left_side, right_side),
ylim = c(bottom_side, top_side), expand = FALSE) +
scale_fill_viridis_d(name = "Area that is reachable within 5 minutes",
labels = c("By car", "By foot")) +
theme_map() +
labs(caption = "Basemap Copyright OpenStreetMap contributors")
ggplot(iso_all_modes) +
geom_sf(data = boston_streets, color = "gray") +
geom_sf(aes(fill = mode), alpha = 0.5) +
geom_sf(data = blm_protests) +
coord_sf(xlim = c(left_side, right_side),
ylim = c(bottom_side, top_side), expand = FALSE) +
scale_fill_viridis_d(name = "Area that is reachable within 5 minutes",
labels = c("By car", "By foot")) +
theme_map()
iso_areas <- iso_all_modes %>%
mutate(area = st_area(iso_all_modes)) %>%
st_set_geometry(NULL) %>%
pivot_wider(names_from = mode, values_from = area)
ggplot(iso_areas,
aes(x = as.numeric(walk), y = as.numeric(drive))) +
geom_point() +
scale_x_continuous(name =
"Area within a five-minute walking distance\nof the protests\n(square km)",
breaks = breaks <- seq(10000, 130000, by = 20000),
labels = breaks / 1000000) +
scale_y_continuous(name =
"Area within a five-minute driving distance\nof the protests\n(square km)",
breaks = breaks <- seq(0, 1500000, by = 100000),
labels = breaks / 1000000) +
theme_bw()
## Warning: Removed 1 rows containing missing values (geom_point).
As a last analysis, I wanted to calculate the number of buildings that are in the area of isochrones for all modes, but the map seems weird for some reason, and the numbers are way off.
buildings_blm <- buildings[iso_all_modes,]
ggplot(buildings_blm) +
geom_sf() +
geom_sf(data = buildings_blm,
color = "black",
size = 0.01) +
theme_map()
buildings <- buildings %>%
st_join(buildings_blm) %>%
mutate(by_blm = !is.na(Name.y))
How many buildings are there close to the sound of BLM protests?
n_buildings_blm <- sum(buildings$by_blm)
n_buildings_blm
## [1] 6719
What percent of all buildings is that?
n_buildings <- length(buildings$by_blm)
pct_buildings_blm <-n_buildings_blm / n_buildings
pct_buildings_blm
## [1] 0.0555014